home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 February / EnigmA AMIGA RUN 04 (1996)(G.R. Edizioni)(IT)[!][issue 1996-02][Skylink CD III].iso / earcd / comm2 / termsorc.lha / Extras / Source / gtlayout-source.lha / LTP_CreatePicker.c < prev    next >
C/C++ Source or Header  |  1995-09-24  |  1KB  |  55 lines

  1. /*  GadTools layout toolkit
  2. **
  3. **  Copyright © 1993-1995 by Olaf `Olsen' Barthel
  4. **  Freely distributable.
  5. */
  6.  
  7. #include "gtlayout_global.h"
  8.  
  9. struct Gadget * __regargs
  10. LTP_CreatePicker(LayoutHandle *handle,ObjectNode *parentNode,struct Gadget *parentGadget,struct NewGadget *ng)
  11. {
  12.     ObjectNode    *node;
  13.     struct Gadget    *picker;
  14.  
  15.     if(node = LTP_CreateObjectNode(handle,PICKER_KIND,parentGadget -> GadgetID,NULL))
  16.     {
  17.         ng -> ng_LeftEdge    = ng -> ng_LeftEdge + ng -> ng_Width;
  18.         ng -> ng_Width        = (4 + (((6 * handle -> GlyphWidth) / 4) & ~1) + 1 + 4);
  19.         ng -> ng_GadgetText    = "";
  20.         ng -> ng_UserData    = node;
  21.         ng -> ng_Flags        = NULL;
  22.  
  23.         node -> Special . Picker . Image = NewObject(LTP_ImageClass,NULL,
  24.             IIA_ImageType,    IMAGECLASS_PICKER,
  25.             IA_Width,    ng -> ng_Width,
  26.             IA_Height,    ng -> ng_Height,
  27.         TAG_DONE);
  28.  
  29.         if(node -> Special . Picker . Image)
  30.         {
  31.             if(picker = CreateGadgetA(GENERIC_KIND,parentGadget,ng,NULL))
  32.             {
  33.                 picker -> GadgetType    |= GTYP_BOOLGADGET;
  34.                 picker -> Flags     |= GFLG_GADGIMAGE | GFLG_GADGHIMAGE;
  35.                 picker -> Activation    |= GACT_RELVERIFY;
  36.                 picker -> GadgetRender     = node -> Special . Picker . Image;
  37.                 picker -> SelectRender     = node -> Special . Picker . Image;
  38.  
  39.                 if(parentNode -> Disabled)
  40.                     picker -> Flags |= GFLG_DISABLED;
  41.  
  42.                 node -> Host = picker;
  43.  
  44.                 node -> Special . Picker . Parent = parentGadget;
  45.  
  46.                 return(picker);
  47.             }
  48.             else
  49.                 LTP_DeleteObjectNode(handle,node);
  50.         }
  51.     }
  52.  
  53.     return(NULL);
  54. }
  55.